﻿// Copyright (c) Inossem. All rights reserved.
// Licensed under the LGPL-3.0 license. See LICENSE file in the project root for full license information.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DWF.Studio.ProcessExecutor.Core.Process
{
    internal class ProcessInfo
    {
        public ProcessInfo()
        {
            Dependency = new List<string>();
            File = new List<string>();
            Libs = new List<string>();
            Script = new List<string>();
            Images = new List<string>();
            Res = new List<string>();
        }

        public string Id
        {
            get;
            set;
        }

        /// <summary>
        /// 工程名
        /// </summary>
        public string Name
        {
            set;
            get;
        }

        /// <summary>
        /// 描述
        /// </summary>
        public string Description
        {
            set;
            get;
        }

        /// <summary>
        /// 文档规范版本
        /// </summary>
        public string Ver
        {
            set;
            get;
        }

        /// <summary>
        /// 工程修改版本号
        /// </summary>
        public string Reversion
        {
            set;
            get;
        }

        /// <summary>
        /// 目标平台
        /// </summary>
        public string Platform
        {
            set;
            get;
        }

        /// <summary>
        /// 启动项
        /// </summary>
        public string Start
        {
            set;
            get;
        }

        public string Directory
        {
            set;
            get;
        }

        /// <summary>
        /// 包含活动包
        /// </summary>
        public bool ContainPackages
        {
            set;
            get;
        }

        /// <summary>
        /// 允许并行
        /// </summary>
        public bool AllowParallel
        {
            set;
            get;
        }

        /// <summary>
        /// 需要管理员权限
        /// </summary>
        public bool RequireAdmin
        {
            set;
            get;
        }

        /// <summary>
        /// 依赖活动包
        /// </summary>
        public List<string> Dependency
        {
            set;
            get;
        }

        /// <summary>
        /// xaml文件夹
        /// </summary>
        public List<string> File
        {
            set;
            get;
        }

        /// <summary>
        /// 库文件夹
        /// </summary>
        public List<string> Libs
        {
            set;
            get;
        }

        /// <summary>
        /// 脚本文件夹
        /// </summary>
        public List<string> Script
        {
            set;
            get;
        }

        /// <summary>
        /// 图像文件夹
        /// </summary>
        public List<string> Images
        {
            set;
            get;
        }

        /// <summary>
        /// 资源文件夹
        /// </summary>
        public List<string> Res
        {
            set;
            get;
        }
    }
}
